//
//  UIDevice+Utility.m
//  DGUtilityKit
//
//  Created by Jinxiao on 9/3/13.
//  Copyright (c) 2013 debugeek. All rights reserved.
//

#import "UIDevice+Utility.h"

#include <sys/sysctl.h>
#include <mach/mach.h>

@implementation UIDevice (Utility)

+ (double)availableMemory
{
    vm_statistics_data_t vmStats;
    mach_msg_type_number_t infoCount = HOST_VM_INFO_COUNT;
    kern_return_t kernReturn = host_statistics(mach_host_self(), HOST_VM_INFO, (host_info_t)&vmStats, &infoCount);
    
    if(kernReturn != KERN_SUCCESS)
    {
        return NSNotFound;
    }
    
    return vm_page_size*vmStats.free_count/1024.f/1024.f;
}

@end